package com.algo.FJSP.common;

import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * @Author: guoxing
 * @Email: gx_study2022@163.com
 * @Description: 读取数据相关的工作:用工件-工序-设备拼接的方式读取数据
 * @Date: 2024/7/1 22:26
 * @ClassName: DataManage
 **/
@Data
public class DataManage {
    //作业数量-工件个数
    private int jobNum;
    //设备数量-工序个数
    private int machineNum;
    //工序的总数量
    private int operationNum;
    // TODO: 2024/7/2 或许可以构建一个类包括工件、工序、设备、工件-工序-设备以及其他数据
    //所有工序编号字符串列表，按顺序排列，例如0-1,0-2,0-3,1-2,1-3,2-3
    private List<String> operations;
    //工序Oij 例如1-2就是第一个工件的第二道工序,以及可以选用的机器编号，所有可加工的设备
    private Map<String,List<Integer>> operationCodeAndMachineListMap;
    //机器k处理工序Oij所用的时间，i-j-k：T 例如2-1-3：4表示工序21在机器3上的加工时间为4
    private Map<String,Integer> operationProcessTimeMap;
    //通过operationCode快速找到其在operations中的索引
    private Map<String,Integer>operationCodeAndIndexMap;
}
